Bundle org.nuxeo.ecm.restapi.jaxrs.aspera
Documentation
-
Parent Documentation: README.md
Nuxeo Aspera Connector
The Nuxeo Aspera connector enables users to upload/download binaries with the Aspera Connect client.
For more details around functionalities, requirements, installation and usage please consider this addon official documentation
Context
Nuxeo Aspera Connector is an addon that can be plugged to Nuxeo. This repository contains the backend and frontend contributions for the Nuxeo Platform and Nuxeo Web UI.
Nuxeo Aspera Connector code is bundled as a marketplace package that includes all the backend and frontend contributions.
Sub Modules Organization
- ci: CI/CD files and configurations responsible to generate preview environments and running Nuxeo Aspera Connector pipeline
- nuxeo-aspera-core: Backend contribution for Nuxeo Platform
- nuxeo-aspera-package: Builder for nuxeo-aspera marketplace package. This package will install all the necessary mechanisms to integrate Aspera Connector capabilities into Nuxeo
- nuxeo-aspera-rest: REST APIs
- nuxeo-aspera-web: Frontend contribution for Nuxeo Web UI
Build
Nuxeo's ecosystem is Java based and uses Maven. This addon is not an exception and can be built by simply performing:
mvn clean install
This will build all the modules except ci and generate the correspondent artifacts:
.jar
files for the contributions, and a.zip
file for the package.Frontend Contributions
nuxeo-aspera-web
module is also generating a.jar
file containing all the artifacts needed for an integration with Nuxeo's ecosystem. Nevertheless this contribution is basically generating an ES Module ready for being integrated with Nuxeo Web UI.It is possible to isolate this part of the build by running the following command:
npm run build
It is using rollup.js to build, optimize and minify the code, making it ready for deployment.
Test
In a similar way to what was written above about the building process, it is possible to run tests against each one of the modules.
Here, despite being under the same ecosystem, the contributions use different approaches.
Backend Contribution
Unit Tests
mvn test
Frontend Contribution
Unit Tests
npm run test
Web Test Runner is the test runner used to run this contribution unit tests. The tests run against bundled versions of Chromium, Firefox and Webkit, using Playwright
Functional tests
To test Aspera functionality we use
nuxeo-web-ui-ftest
helpers. To run them, we use the command:npm run ftest
To run the functional tests, Nuxeo Web UI Functional Testing Framework is used. Due to its inner dependencies, it only works using NodeJS
lts/dubnium
, i.e.,v14
.Developer Workflow
Backend
mvn clean install
That will generate an aspera zip file in the target area, which you can manually install in your server instance.
Frontend
Disclaimer: In order to contribute and develop Nuxeo Aspera Management UI, it is assumed that there is a Nuxeo server running with Nuxeo Aspera Management package installed and properly configured according the documentation above.
Install Dependencies
npm install
Linting & Code Style
The UI contribution has linting to help making the code simpler and safer.
npm run lint
To help on code style and formatting the following command is available.
npm run format
Both
lint
andformat
commands run automatically before performing a commit in order to help us keeping the code base consistent with the rules defined.Integration with Web UI
Despite being an "independent" project, this frontend contribution is build and aims to run as part of Nuxeo Web UI. So, most of the development will be done under that context. To have the best experience possible, it is recommended to follow the
Web UI Development workflow
on repository's README.Since it already contemplates the possibility of integrating packages/addons, it is possible to serve it with
NUXEO_PACKAGES
environment variable pointing to the desired packages/addons.Not being perfect, the suggested way of integration is to create a symlink inside addons folder, under your checkout of Web UI repo and then serve it with
nuxeo-aspera
package/addon.Creating the Symlink
cd ${yourWebUiCheckout}/addons ln -s ~/${yourAsperaManagementCheckout}/nuxeo-aspera/nuxeo-aspera-web nuxeo-aspera
Serving Web UI with Aspera Management
NUXEO_PACKAGES="nuxeo-aspera" npm run start
CI/CD
Continuous Integration & Continuous Deployment(and Delivery) are an important part of the development process.
Nuxeo Aspera Connector integrates Jenkins pipelines for each reference branch, and also for each opened PR.
The following features are available:
- Possibility of having a dedicated preview environment for a PR by using the tag GitHub PR tag
preview
- Each PR merge to reference branch will generate a "release candidate" package
Localization Management
Translations are managed with Crowdin.
The reference file message.json contains the labels and the English values.
Translations for other languages are managed in the nuxeo-aspera Crowdin project, e.g. French.
The Crowdin GitHub Actions workflow handles automatic translations and related pull requests.
About Nuxeo
The Nuxeo Platform is an open source customizable and extensible content management platform for building business applications. It provides the foundation for developing document management, digital asset management, case management application and knowledge management. You can easily add features using ready-to-use addons or by extending the platform using its extension point system.
The Nuxeo Platform is developed and supported by Nuxeo, with contributions from the community.
Nuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.
Components
No components.Packages
Maven Artifact
File | nuxeo-aspera-rest-2021.9.1.jar |
---|---|
Group Id | com.nuxeo.aspera.connector |
Artifact Id | nuxeo-aspera-rest |
Version | 2021.9.1 |
Manifest
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: root
Build-Jdk: 11.0.24
Bundle-ManifestVersion: 1
Bundle-Version: 1.0.0
Bundle-Name: nuxeo-aspera-rest
Bundle-SymbolicName: org.nuxeo.ecm.restapi.jaxrs.aspera;singleton:=true
Fragment-Host: org.nuxeo.ecm.platform.restapi.server
Bundle-Vendor: Nuxeo
Exports
- Json Export Default Json serialization
- Json Graph Json dependency graph
- Json Contribution Stats Json statistics for contributions
- CSV Contribution Stats CSV statistics for contributions
Charts
-
Raw Data: Json Contribution Stats